package com.eorchis.module.news.service;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import com.eorchis.core.service.IBaseService;
import com.eorchis.module.news.domain.NewsQueryBean;
import com.eorchis.module.news.domain.ReceiveUserQueryBean;
import com.eorchis.module.news.ui.commond.NewsQueryCommond;
import com.eorchis.module.news.ui.commond.NewsValidCommond;
import com.eorchis.module.remind.domain.RemindUser;

/**
 * Title: INewsService<br>
 * Description: 消息管理管理业务接口<br>
 * Company: GoldGov<br>
 * Copyright @ 2012 GoldGov .All rights reserved.<br>
 * @author RongSL
 * @createDate 2016-05-06
 * @version $Revision$
 */
public interface INewsService extends IBaseService {
	/**
	 * 查询未选接收人列表
	 * @param qCommond
	 * @return
	 * @throws Exception
	 * @author NingSS
	 * @createDate 2016-5-10
	 */
	List<ReceiveUserQueryBean> findNoSelectedReceiveUserList(NewsQueryCommond qCommond) throws Exception;
	/**
	 * 查询已选接收人列表
	 * @param qCommond
	 * @return
	 * @throws Exception
	 * @author NingSS
	 * @createDate 2016-5-10
	 */
	List<ReceiveUserQueryBean> findSelectedReceiveUserList(NewsQueryCommond qCommond) throws Exception;
	/**
	 * 上传附件
	 * @param commond
	 * @param request
	 * @return
	 * @throws Exception
	 * @author NingSS
	 * @date 2016-5-11
	 */
	public NewsValidCommond uploadNewsFile(NewsValidCommond commond, HttpServletRequest request) throws Exception;
	/**
	 * 新增消息
	 * @param commond
	 * @return
	 * @throws Exception
	 * @author NingSS
	 * @date 2016-4-21
	 */
	void addNews(NewsValidCommond commond) throws Exception;
	List<ReceiveUserQueryBean> findBlobList(String blobId)throws Exception;
	/**
	 * 查询接收人ID及姓名
	 * @param commond
	 * @param request
	 * @param response
	 * @param resultState
	 * @return
	 * @throws Exception
	 * @author NingSS
	 * @date 2016-5-11
	 */
	NewsValidCommond findReceiveUser(NewsValidCommond commond) throws Exception;

	/**
	 * 查询消息列表
	 * @return
	 * @throws Exception
	 * @author LongJZ
	 * @createDate 2016-6-21
	 */
	public List<NewsQueryBean> findNewsList(NewsQueryCommond queryCommond) throws Exception;
	/**
	 * 查询委托部委管理员
	 * @Date 2016-05-13
	 * @author RongSL
	 * */
	public List<RemindUser> findAdministrator(NewsQueryCommond commond)throws Exception;
	
	
	
	/**
	 * 未读消息数
	 * @return
	 * @throws Exception
	 * @author GUOLEI
	 * @createDate 2016-6-21
	 */
	public Integer receiveNewsCount(NewsValidCommond validCommond) throws Exception ;
	
	/**
	 * 接收消息列表
	 * @return
	 * @throws Exception
	 * @author GUOLEI
	 * @createDate 2016-6-21
	 */
	public List<NewsQueryBean> replyNewsUserList(NewsQueryCommond queryCommond) throws Exception ;
	
	/**
	 * 查询回复消息人员列表
	 * @return
	 * @throws Exception
	 * @author GUOLEI
	 * @createDate 2016-6-21
	 */
	public List<NewsQueryBean> findReplyUserList(NewsQueryCommond queryCommond) throws Exception ;
	
	/**
	 * 回复消息列表
	 * @return
	 * @throws Exception
	 * @author GUOLEI
	 * @createDate 2016-6-21
	 */
	public List<NewsQueryBean> findReplyNewsList(NewsQueryCommond queryCommond) throws Exception ;
	
	
	/**
	 * 回复消息列表
	 * @return
	 * @throws Exception
	 * @author GUOLEI
	 * @createDate 2016-6-21
	 */
	public NewsQueryBean findReplyNews(NewsValidCommond validCommond) throws Exception ;
	
	
	
	/**
	  * @修改接收人显示状态
	  * @Name: updateReceiveLookStata
	  * @Description: @return
	  * @Author: GUOLEI
	  * @Version: V1.00
	  * @Create Date: 2016-6-24上午10:45:26
	  * @Parameters: NewsDaoImpl
	  * @Return: String
	 */
	public String  updateReceiveLookStata(NewsValidCommond validCommond);

	
	/**
	  * @修改发送人显示状态
	  * @Name: updateSendLookStata
	  * @Description: @return
	  * @Author: GUOLEI
	  * @Version: V1.00
	  * @Create Date: 2016-6-24上午10:45:35
	  * @Parameters: NewsDaoImpl
	  * @Return: String
	 */
	public String  updateSendLookStata(NewsValidCommond validCommond);
	
	
	/**
	  * @修改读取状态
	  * @Name: addReply1
	  * @Description: @param validCommond
	  * @Description: @return
	  * @Author: GUOLEI
	  * @Version: V1.00
	  * @Create Date: 2016-6-24下午2:07:06
	  * @Parameters: NewsDaoImpl
	  * @Return: String
	 */
	public String  updateReadState(NewsValidCommond validCommond);
	
	/**
	 * 添加消息回复
	 * @throws Exception
	 * @author GUOLEI
	 * @createDate 2014-5-14
	 */
	public Boolean addReply(NewsValidCommond validCommond)throws Exception ;

	/**
	 * 查询消息列表
	 * @return
	 * @throws Exception
	 * @author LongJZ
	 * @createDate 2016-6-21
	 */
	public void updateReplyReadStata(NewsQueryCommond queryCommond) throws Exception;
}
